X is the name of a variable in the workspace, possibly modified by the indexing function (EXP X[I])←Y, see Assignment (Indexed). EXP is an expression that selects elements of X. Y is an array expression. The result of the expression Y is allocated to the elements of X selected by EXP. Note that X may refer to a single name only.
The following functions may appear in the selection expression. Where appropriate these functions may be used with axis [] and with the Each operator ¨.
Functions for Selective Assignment
| ↑ | Take | 
| ↓ | Drop | 
| , | Ravel | 
| ⍪ | Table | 
| ⌽⊖ | Reverse, Rotate | 
| ⍴ | Reshape | 
| ⊃ | Disclose, Pick | 
| ⍉ | Transpose (Monadic and Dyadic) | 
| /⌿ | Replicate | 
| \⍀ | Expand | 
| ⌷ | Index | 
| ∊ | Enlist (⎕ML≥1) | 
Note: Mix and Split (monadic ↑ and ↓), Type (monadic ∊ when ⎕ML<1) and Membership (dyadic ∊) may not be used in the selection expression.
A←'HELLO' ((A∊'AEIOU')/A)←'*' A H*LL* Z←3 4⍴⍳12 (5↑,Z)←0 Z 0 0 0 0 0 6 7 8 9 10 11 12
      MAT←3 3⍴⍳9
      (1 1⍉MAT)←0
 
      MAT
0 2 3
4 0 6
7 8 0
       
      ⎕ML←1⍝ so ∊ is Enlist
      names←'Andy' 'Karen' 'Liam'
      (('a'=∊names)/∊names)←'*'
      names
 Andy  K*ren  Li*m
        The functions listed in the table above may also be used with the Each Operator ¨.
      A←'HELLO' 'WORLD'
      (2↑¨A)←'*'
      A
 **LLO  **RLD
 
      A←'HELLO' 'WORLD'
      ((A='O')/¨A)←'*'
      A
 HELL*  W*RLD
      A←'HELLO' 'WORLD'
      ((A∊¨⊂'LO')/¨A)←'*'
      A
 HE***  W*R*D
        Bracket indexing may also be applied to the expression on the left of the assignment arrow.
      MAT←4 3⍴'Hello' 'World'
      (¯2↑¨MAT[;1 3])←'$'
      MAT
 Hel$$  World  Hel$$ 
 Wor$$  Hello  Wor$$ 
 Hel$$  World  Hel$$ 
 Wor$$  Hello  Wor$$